<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
	// 6、`Promise.all`方法: (promises) => {}
	// (1) promises: 包含n个promise的数组
	// 说明: 返回一个新的promise, 只有所有的promise都成功才成功, 只要有一个失败了就直接失败
    const p1 = new Promise((resolve,reject)=>{
		setTimeout(()=>{
			resolve(1);
        },10)
    })
	const p2 = new Promise((resolve,reject)=>{
		setTimeout(()=>{
			reject(2);
		},30)
	})
	const p3 = new Promise((resolve,reject)=>{
		setTimeout(()=>{
			reject(3);
		},60)
	})
	const p4 = new Promise((resolve,reject)=>{
		setTimeout(()=>{
			resolve(4);
		},20)
	});
	// 如果数组中的所有的Promise实例都成功,返回的状态即是成功的,值为所有的Promise成功值(数组)
    // 如果数组中的Promise有一个失败,即失败.值为第一个失败的值
	Promise.all([p1,p2,p3,p4]).then(value=>{
		console.log("成功",value);// [1,2,3,4]
    },reason=>{
		console.log("失败",reason);
    })
</script>
</html>